package com.hope.hotel.common;

/**
 * 错误代码枚举
 */
public enum ErrorCode {
    
    /**
     * 成功
     */
    SUCCESS(200, "操作成功"),
    
    /**
     * 系统错误
     */
    SYSTEM_ERROR(500, "系统错误"),
    
    /**
     * 参数错误
     */
    PARAM_ERROR(400, "参数错误"),
    
    /**
     * 未授权
     */
    UNAUTHORIZED(401, "未授权"),
    
    /**
     * 禁止访问
     */
    FORBIDDEN(403, "禁止访问"),
    
    /**
     * 资源不存在
     */
    NOT_FOUND(404, "资源不存在"),
    
    /**
     * 请求方法不支持
     */
    METHOD_NOT_ALLOWED(405, "请求方法不支持"),
    
    /**
     * 请求超时
     */
    REQUEST_TIMEOUT(408, "请求超时"),
    
    /**
     * 用户名或密码错误
     */
    LOGIN_ERROR(1001, "用户名或密码错误"),
    
    /**
     * 用户已存在
     */
    USER_EXIST(1002, "用户已存在"),
    
    /**
     * 用户不存在
     */
    USER_NOT_EXIST(1003, "用户不存在"),
    
    /**
     * 验证码错误
     */
    VERIFY_CODE_ERROR(1004, "验证码错误"),
    
    /**
     * 验证码已过期
     */
    VERIFY_CODE_EXPIRED(1005, "验证码已过期"),
    
    /**
     * 旧密码错误
     */
    OLD_PASSWORD_ERROR(1006, "旧密码错误"),
    
    /**
     * 酒店不存在
     */
    HOTEL_NOT_EXIST(2001, "酒店不存在"),
    
    /**
     * 房间不存在
     */
    ROOM_NOT_EXIST(2002, "房间不存在"),
    
    /**
     * 房间已被预订
     */
    ROOM_ALREADY_BOOKED(2003, "房间已被预订"),
    
    /**
     * 订单不存在
     */
    ORDER_NOT_EXIST(3001, "订单不存在"),
    
    /**
     * 订单已支付
     */
    ORDER_ALREADY_PAID(3002, "订单已支付"),
    
    /**
     * 订单已取消
     */
    ORDER_ALREADY_CANCELED(3003, "订单已取消"),
    
    /**
     * 支付失败
     */
    PAYMENT_FAILED(4001, "支付失败"),
    
    /**
     * 退款失败
     */
    REFUND_FAILED(4002, "退款失败"),
    
    /**
     * 评论不存在
     */
    REVIEW_NOT_EXIST(5001, "评论不存在");
    
    private final Integer code;
    
    private final String message;
    
    ErrorCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
    
    public Integer getCode() {
        return code;
    }
    
    public String getMessage() {
        return message;
    }
} 